home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Games / Freeciv / README.org < prev    next >
Encoding:
Text File  |  2001-08-17  |  16.8 KB  |  510 lines

  1. ====================
  2. Freeciv Version 1.12
  3. ====================
  4.  
  5. Welcome to Freeciv!
  6.  
  7. This archive contains Freeciv, a free Civilization clone, primarily
  8. for X under Unix.  It has support for multiplayer games locally or
  9. over a network, and an AI which gives most people a run for their money.
  10.  
  11. Freeciv aims to be mostly rule-compatible with Civilization II [tm],
  12. published by Sid Meier and Microprose [tm].  A few rules are different
  13. where we think it makes more sense, and we have lots and lots of
  14. adjustable parameters to make customizing games possible.
  15.  
  16. Freeciv has been implemented completely independently of Civilization;
  17. you do not need to own Civilization to play Freeciv.
  18.  
  19. Allthough we do not yet have sound support, and the computer players
  20. can't yet negotiate, the rules are very complete, and our multiplayer
  21. and networking code is excellent.
  22.  
  23. There may be a localized version of this file in the ./doc directory,
  24. named README.<locale> (e.g., README.de).
  25.  
  26.  
  27. Web site:
  28. =========
  29.  
  30. Freeciv's web site is here:
  31.  
  32.   http://www.freeciv.org/
  33.  
  34. We invite you to visit.  You can get the latest Freeciv news, releases
  35. and patches, find out about the Freeciv mailing lists, and see the
  36. Freeciv metaserver, which records games being played around the world.
  37.  
  38.  
  39. License:
  40. ========
  41.  
  42. Freeciv is released under the GNU General Public License.  In short,
  43. you may copy this program (including source) freely, but see the
  44. COPYING file for full details.
  45.  
  46.  
  47. Compiling and installing:
  48. =========================
  49.  
  50. Please read the INSTALL file carefully for instructions on how to get
  51. Freeciv compiled and installed on your machine.
  52.  
  53.  
  54. Starting a new game:
  55. ====================
  56.  
  57. Freeciv is actually two programs, a server and a client.  When a game
  58. is in progress, there will be one server program running, and as many
  59. client programs as there are human players.  The server does not need
  60. X, but the clients do.
  61.  
  62.   NOTE:
  63.   The following examples assume that Freeciv has been installed on
  64.   your system, and that the directory containing the "civclient"
  65.   and "civserver" programs is in your PATH.  If Freeciv is not
  66.   installed, then you may want to use the "civ" and "ser" programs,
  67.   which can be found in the top Freeciv directory.  They are used
  68.   in exactly the same fashion as "civclient" and "civserver".
  69.  
  70. Running Freeciv involves starting the server, then the client(s)
  71. and AI(s), then telling the server to start the game.  Here are the
  72. steps:
  73.  
  74. Server:
  75.  
  76.   To start the server:
  77.  
  78.   |  % civserver
  79.  
  80.   Or for a list of command-line options:
  81.  
  82.   |  % civserver --help
  83.  
  84.   Once the server is started, a prompt will appear:
  85.  
  86.   |  For introductory help, type 'help'.
  87.   |  >
  88.  
  89.   and, you can see this information by using the help command:
  90.  
  91.   |  > help
  92.   |  Welcome - this is the introductory help text for the Freeciv server.
  93.   |
  94.   |  Two important server concepts are Commands and Options.
  95.   |  Commands, such as 'help', are used to interact with the server.
  96.   |  Some commands take one or more parameters, separated by spaces.
  97.   |  In many cases commands and command arguments may be abbreviated.
  98.   |  Options are settings which control the server as it is running.
  99.   |
  100.   |  To find out how to get more information about commands and options,
  101.   |  use 'help help'.
  102.   |
  103.   |  For the impatient, the main commands to get going are:
  104.   |    show   -  to see current options
  105.   |    set    -  to set options
  106.   |    start  -  to start the game once players have connected
  107.   |    save   -  to save the current game
  108.   |    quit   -  to exit
  109.   |  >
  110.  
  111.   If you like, you can use the 'set' command to set any of the various
  112.   server options for the game.  You can get a list of the options
  113.   with the 'show' command, and detailed descriptions of each with the
  114.   'help <option-name>' command.
  115.  
  116.   For example:
  117.  
  118.   |  > help xsize
  119.   |  Option: xsize  -  Map width in squares
  120.   |  Status: changeable
  121.   |  Value: 80, Minimum: 40, Default: 80, Maximum: 200
  122.  
  123.   And:
  124.  
  125.   |  > set xsize 100
  126.   |  > set ysize 80
  127.  
  128.   This will make the map twice as large as the default of 80x50.
  129.  
  130. Client:
  131.  
  132.   Now all the human players should join, by running the Freeciv
  133.   client:
  134.  
  135.   |  % civclient
  136.  
  137.   This assumes the server is running on the same machine.  If not, you
  138.   can either specify it on the command use with the '--server' option,
  139.   or enter it into the first dialog box once the client starts.
  140.  
  141.   For example, suppose the server is running on a different machine
  142.   called 'neptune'.  Then players would join with a command like:
  143.  
  144.   |  % civclient --server neptune
  145.  
  146.   If you're the only human player, then only one client needs to be
  147.   started.  In standard Unix fashion you can start the client
  148.   "in the background" by appending an ampersand:
  149.  
  150.   |  % civclient &
  151.  
  152.   Another option for the client you may like to try is the '--tiles'
  153.   option, which can be used to select different "tilesets" (that is,
  154.   different graphics for the map terrain, units, and so on).  The
  155.   distribution comes with 3 main tilesets:
  156.   - hires: An isometric tileset like the one in civ 2. (not supported
  157.     by the xaw client.)
  158.   - trident: a civ1-style tileset with 30x30 tiles.
  159.   - engels: a civ1-style tileset with 45x45 tiles.
  160.   The trident and engels tilesets have variants called "trident_shields"
  161.   and "engels_shields".
  162.   In this release the hires tileset is the default in the gtk and amiga
  163.   clients, while the xaw client has trident as default. (in some previous
  164.   releases the engels tileset was the default).
  165.   The tilesets have quite different graphic styles; you may find
  166.   you prefer one over the other.  The "_shields" variants use a shield-
  167.   shaped flag, which is smaller and may be less obscured.  The trident
  168.   tiles are smaller, so may be better if you have a small display.  But
  169.   try them both and decide for yourself -- to use fx the trident tileset
  170.   start the client with:
  171.  
  172.   |  % civclient --tiles trident
  173.  
  174.   Other tilesets may be available from the ftp site.
  175.  
  176.  
  177.   Clients can be authorized to issue server commands.  To allow them
  178.   to use informational commands only, type at the server prompt
  179.  
  180.   |  > cmdlevel info
  181.  
  182.   Clients can now use '/help', '/list', '/show settlers', etc.
  183.  
  184. Computer Players:
  185.  
  186.   There are two ways to create AI players.  The first is to set
  187.   the number of players (human and AI) by setting the 'aifill'
  188.   server option.  For example:
  189.  
  190.   |  > set aifill 7
  191.  
  192.   After using the 'start' server command to start the game, any players
  193.   which aren't controlled by humans will be AI players.  For the above,
  194.   if two human players had joined, 5 AI players would be created.
  195.  
  196.   The second way is to explicitly create an AI with the 'create'
  197.   server command.  For example:
  198.  
  199.   |  > create HumanKiller
  200.  
  201.   This will create an AI-controlled player called HumanKiller.
  202.  
  203.   AI players are assigned to nations after all human players have
  204.   chosen their nations, but you can choose a particular nation for an
  205.   AI player by using the normal name for that nation's leader.  For
  206.   example, to play against AI-controlled Romans, use this server
  207.   command:
  208.  
  209.   |  > create Caesar
  210.  
  211.   Note, this is just a preference:  If no other human player chooses
  212.   to play the Romans, then this AI will.
  213.  
  214. Server:
  215.  
  216.   When everybody has joined (use the "list" command to see who's in),
  217.   start the game with the "start" command:
  218.  
  219.   |  > start
  220.  
  221. And the game is on!
  222.  
  223.  
  224. Announcing the game:
  225. ====================
  226.  
  227. If you do not want to limit your opponents to local friends or AI players,
  228. visit the Freeciv metaserver:
  229.  
  230.   http://meta.freeciv.org/metaserver/
  231.  
  232. It is a list of Freeciv servers.  To make your own server announce itself
  233. there, start civserver with the '--meta' option, or just '-m' for short.
  234.  
  235. Caveats:
  236.  
  237.  1) Due to the inclusion of new features, different client and server
  238.     versions are often incompatible.  Not all incompatibilities
  239.     can be caught and reported properly.  One example is a 1.8.0 (or
  240.     later) client connecting to a 1.7.2 server: the client appears
  241.     to connect, but it never gets any messages from the server.
  242.  
  243.  2) If the Metaserver button in the connection dialog doesn't work,
  244.     check if your ISP uses a mandatory WWW proxy and make civclient
  245.     use it through the $http_proxy environment variable.  For instance,
  246.     if the proxy is proxy.myisp.com port 8888, set $http_proxy
  247.     to http://proxy.myisp.com:8888/ before starting the client.
  248.  
  249.  3) Sometimes there are no games on the metaserver.  This may be
  250.     partly because the metaserver has changed hosts, and previous
  251.     Freeciv versions do not know about the new address.  Also, games
  252.     no longer show up on the metaserver by default, instead people
  253.     have to deliberately use '--meta'.  If you want to play a game on
  254.     the metaserver, are there are none there, try starting one
  255.     yourself!
  256.  
  257.  
  258. Playing the game:
  259. =================
  260.  
  261. The game may be saved the game at any time using the 'save' server
  262. command, like so:
  263.  
  264.   |  > save mygame.sav
  265.  
  266. (If your server is compiled with compression support, and the
  267. 'compress' server option is set to other than 0 (zero), then the
  268. file written may be compressed and called 'mygame.sav.gz'.)
  269.  
  270. The Freeciv client works pretty much as you would expect from a
  271. multiplayer civilization game.  That is, the human players all move
  272. at the same time, then all the AI players move when all the human
  273. players have completed their turn.  There's a turn timeout value,
  274. which is by default set to 0 seconds (no timeout).  The server
  275. operator can alter this value at any time with the 'set' command.
  276.  
  277. Have a look at the online help system. All three mouse-buttons are
  278. used, and documented in the help.
  279.  
  280. Players can push the 'Return' key to announce the end of their turn,
  281. or just push the 'Turn Done' button.
  282.  
  283. Use the 'Players' dialog to see who has announced their end of turn,
  284. and who you're waiting for.  (Hey feller, are you asleep or what?? ;).
  285.  
  286. Use the input line at the bottom of the window for broadcasting
  287. messages to other players.
  288.  
  289. You can send a message to an individual player (e.g., 'peter') like so:
  290.  
  291.   |  peter: move that armor away *NOW*!
  292.  
  293. The server is smart enough to perform "name completion", so if you had
  294. typed "pet:", it will find a player name that matches the part of the
  295. name you typed.
  296.  
  297. On newer servers (version 1.8.1 or later, or some development 1.8.0
  298. versions) you can issue server commands from the client input line:
  299.  
  300.   |  /list
  301.   |  /set settlers 4
  302.   |  /save mygame.sav
  303.  
  304. The server operator will probably let you issue informational commands
  305. only.  This is partly because allowing clients to use all server
  306. commands has security implications; consider if a player tried:
  307.  
  308.   |  /save /etc/passwd
  309.  
  310. Of course the server should not be running with superuser privileges in
  311. any case, to reduce this sort of risk.
  312.  
  313. If you're just starting, and would like to get an idea of a strategy,
  314. have a look in the Freeciv playing HOWTO, contained in the HOWTOPLAY
  315. file.
  316.  
  317. For lots more information about the client, the server, and the
  318. concepts and rules of the game, see the Freeciv manual, available
  319. at the web pages at:
  320.  
  321.   http://www.freeciv.org/manual/manual.html
  322.  
  323.  
  324. Ending the game:
  325. ================
  326.  
  327. There are three ways in which a game can end:
  328.  
  329. 1) Only one race is left.
  330. 2) The final year is reached.
  331. 3) A player builds and launches a spaceship, which reaches Alpha
  332.    Centauri first.
  333.  
  334. A score-table will be shown in all cases.  Hint: The server operator
  335. can set the final year while the game is still going by changing the
  336. 'end-year' option.  This is nice when the winner is obvious, but you
  337. don't want to play through the boring 'cleanup phase'.
  338.  
  339.  
  340. Restoring games:
  341. ================
  342.  
  343. You can restore a saved game by using the '-f' server option, eg:
  344.  
  345.   |  % civserver -f oursave2001.sav
  346.  
  347. or, if the save-file was created by a server that compressed it:
  348.  
  349.   |  % civserver -f oursave2001.sav.gz
  350.  
  351. Now the players can rejoin the game:
  352.  
  353.   |  % civclient -n Alexander
  354.  
  355. Notice how the player-name is specified with the -n option. It's vital
  356. that the player uses the same name as they had when the game was running,
  357. if they're to be allowed in.
  358.  
  359. The game may then be restarted with the 'start' command as usual.
  360.  
  361.  
  362. Native Language Support:
  363. ========================
  364.  
  365. Freeciv supports several local languages.
  366.  
  367. You may choose which local language to use by specifying a "locale".
  368. Each locale has a standard name (e.g., 'de' for German).  If you have
  369. installed Freeciv, you may choose a locale by setting the environment
  370. variable LANG to that locale's standard name before running civserver
  371. and civclient.
  372.  
  373. For example, assuming you wish to use the German localization, you
  374. would do:
  375.  
  376.   export LANG; LANG=de   (in the Bourne shell (sh)),
  377. or
  378.   setenv LANG de         (in the C shell (csh)).
  379.  
  380. (You could do this in your .profile or .login file.)
  381.  
  382.  
  383. Log messages:
  384. =============
  385.  
  386. Both the client and server print messages known as "log messages".
  387. There are five categories of log messages: "fatal", "error", "normal",
  388. "verbose", and "debug".
  389.  
  390. By default, fatal, error and normal messages are printed to standard 
  391. output where the client or server was started.  You can direct log 
  392. messages to a file instead of the screen with the "--log filename", 
  393. or "-l filename" command line options.
  394.  
  395. You can change the level of log messages displayed with "--debug
  396. level" or "-d level" (or instead "-de level" for the Xaw client, since
  397. "-d" is ambiguous between "-debug" and "-display"), where "level" is
  398. 0, 1, 2, or 3.  0 means show fatal messages only, 1 means show fatal
  399. and error messages, 2 means fatal, error and normal messages (the
  400. default), and 3 means show all fatal, error, normal, and verbose
  401. messages.
  402.  
  403. If you compiled with DEBUG defined (an easy way to do this is to
  404. configure with --enable-debug), then you can get debug level messages
  405. by setting the level to 4.  Also, it is possible to control debug
  406. level messages (but not other messages) on a per-file and per-line
  407. basis.  To do this use "--debug 4:str1:str2" (as many strings as you
  408. like, separated by colons) and any filenames which match those strings
  409. as a substring will have debug log messages turned on, and all other
  410. debug messages will be suppressed.  To control lines, use:
  411. "--debug 4:str1,min,max" and for files which match str1 only debug
  412. messages within the specified minimum and maximum lines will be
  413. printed.  Only one set of (min,max) can be applied to each file.
  414.  
  415. Example:
  416.  
  417.   |  % civserver -l my.log -d 3
  418.  
  419. This sends all server log messages to file "my.log", including verbose
  420. level messages.
  421.  
  422. Example:
  423.  
  424.   |  % civclient --debug 0
  425.  
  426. This suppresses all non-fatal client log messages.
  427.  
  428. Example:
  429.  
  430.   |  % civserver -d 4:log:civserver,120,500:autoattack
  431.  
  432. This turns on all fatal, error, normal and verbose messages for the
  433. server, and debug level messages for some specified modules.  Note
  434. that "log" will match "gamelog.c" as well as "log.c".  For
  435. "civserver.c", debug messages between lines 120 and 500 will be
  436. printed.  This example only works if the server was compiled with
  437. DEBUG.
  438.  
  439.  
  440. Bugs:
  441. =====
  442.  
  443. Found a bug?  We really want to hear from you so we can fix it.
  444. See the file BUGS, for a list of known bugs in this release, and
  445. information about reporting new bugs.
  446.  
  447.  
  448. Mailing lists:
  449. ==============
  450.  
  451. We maintain 6 mailing lists:
  452.  
  453.   freeciv          General discussion.
  454.   freeciv-announce Announcements of general interest.
  455.                    This is a "Read Only" list, with infrequent messages.
  456.                    In other words you can't mail this list, just read it.
  457.                    (Announcements sent to this are also sent to freeciv.)
  458.   freeciv-dev      Freeciv development.
  459.   freeciv-data     Freeciv data directory development.
  460.                    (Discussion of rulesets, tilesets, etc.)
  461.   freeciv-java     Freeciv Java client development.
  462.   freeciv-cvs      Notifications of changes to the CVS repository.
  463.                    This is a "Read Only" list, carrying automated messages.
  464.                    In other words you can't mail this list, just read it.
  465.  
  466. All lists are open to the general public and everyone is welcome to join.
  467.  
  468. To join (or leave) these lists follow these steps:
  469.  
  470.   1. Email to <listar@freeciv.org>.
  471.   2. Leave subject blank.
  472.   3. In the body of the email put one of:
  473.       To join:
  474.         subscribe freeciv
  475.         subscribe freeciv-announce
  476.         subscribe freeciv-dev
  477.         subscribe freeciv-data
  478.         subscribe freeciv-java
  479.         subscribe freeciv-cvs
  480.       To leave:
  481.         unsubscribe freeciv
  482.         unsubscribe freeciv-announce
  483.         unsubscribe freeciv-dev
  484.         unsubscribe freeciv-data
  485.         unsubscribe freeciv-java
  486.         unsubscribe freeciv-cvs
  487.  
  488. To send an email to the lists, address it to:
  489.  
  490.   For freeciv, mail should be sent to <freeciv@freeciv.org>.
  491.   For freeciv-dev, mail should be sent to <freeciv-dev@freeciv.org>.
  492.   For freeciv-data, mail should be sent to <freeciv-data@freeciv.org>.
  493.   For freeciv-java, mail should be sent to <freeciv-java@freeciv.org>.
  494.  
  495.  
  496. New Releases:
  497. =============
  498.  
  499. We hope to make a major new release of Freeciv available about every
  500. four months.  Check the Freeciv website from time to time to see if
  501. there's a newer version!!
  502.  
  503.  
  504. And finally:
  505. ============
  506.  
  507. Have fun and give 'em hell!
  508.  
  509.                                    -- The Freeciv team.
  510.